//
//  NSObject+KVCChangeType.h
//  package
//
//  Created by WJC on 2018/10/30.
//  Copyright © 2018 wjc. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <objc/runtime.h>
#import "WJCDefine.h"
#import "NSObject+MJKeyValue.h"
#import "NSObject+FCUrlPathGet.h"
@interface NSObject (KVCChangeType)

/**
 KVC设置模型(字典或数组)
 *如果模型里有数组需要转KVC 在模型的.m方法实现-(NSDictionary*)getModel<不明白详细查看FCCompanyModel的实现>
 */
-(id)setKVCWithObj:(id)obj;
/**
 KVC设置模型(字典)
 *如果模型里有数组需要转KVC 在模型的.m方法实现-(NSDictionary*)getModel<不明白详细查看FCCompanyModel的实现>
 */
-(id)setKVCobjectWithObj:(NSDictionary *)obj;
+(const char*)getControllerIvalWithController:(id)controller andPropertyName:(NSString *)verifyPropertyName;
/**
 KVC设置模型(字典)--传入modlel的str
 *如果模型里有数组需要转KVC 在模型的.m方法实现-(NSDictionary*)getModel<不明白详细查看FCCompanyModel的实现>
 */
+(id)setKVCobjectWithObj:(NSDictionary *)obj andModelString:(NSString*)str;
/**
 去掉graphql的item或者items
 */
-(id)skipGraphQLItems;

+ (void)swizzleSelector:(SEL)originalSelector withSwizzledSelector:(SEL)swizzledSelector;
+(void)performSelector:(SEL)aSelector withObjects:(id)object,...;

    /// 检查对象是否包含谋属性
    /// @param instance 对象名
    /// @param verifyPropertyName 属性名
    /// @param log 是否log到控制台
- (BOOL)checkIsExistPropertyWithInstance:(id)instance verifyPropertyName:(NSString *)verifyPropertyName andLogAllProperty:(BOOL)log;
@end
